iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
1
Modern Web

最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server系列 第 17

[Day 17] 存取資料庫的另一種方式,談 exposed DSL

  • 分享至 

  • xImage
  •  

除了 DAO 以外,exposed 還提供了另一種存取資料庫的方式 DSL,類似我們常用的 Query Builder

下面我們就來介紹 exposed 的 DSL 怎麼使用

object

DSL 的連線方式,一樣需要一個 object

object Cities : Table() {
    val id = integer("id").autoIncrement()
    val name = varchar("name", 50)
}

有了這個 object 之後,我們就可以針對它進行資料庫操作了

Create

我們用 insertAndGetId

val id = Cities.insertAndGetId {
  it[name] = "Taipei"
}

Read

我們可以用 selectAll() 存取所有的資料

for (city in Cities.selectAll()) {
    println("${city[Cities.name]}")
}

也可以用 select{} 挑選我們想要的資料

StarWarsFilms.select { StarWarsFilms.sequelId eq 8 }

Update

update

Cities.update({ Cities.name eq "Taipei"}) {
    it[name] = "Tainan"
}

Delete

deleteWhere 來挑出要移除的資料

Cities.deleteWhere { Cities.name eq "Taipei" }

上一篇
[Day 16] 談談 DAO 的 CRUD
下一篇
[Day 18] 資料表關聯,DAO 的一對多關係
系列文
最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言